1. Technical Field
This disclosure relates to character recognition and more particularly, to a method for segmenting characters in a license plate for recognition.
2. Description of the Related Art
Several computer vision-based prior art systems for reading a license plate number have been developed in the past. These systems typically consist of three main modules: plate localization, character segmentation and character recognition. Within a serial fashion scheme, character segmentation is needed to perform character recognition which fully relies on isolated characters. Incorrectly segmented characters are not likely to be correctly recognized. In fact, most of the recognition errors in the conventional open-loop systems are not due to missing recognition power, but to segmentation errors on different image levels. To develop a robust character segmentation is difficult for license plate recognition. The reasons are mainly that the limited resolution of plate characters together with dirt, scratches, shadows and skew etc., usually degrades performance of segmentation. In addition, outdoor environment under great variations of illumination changes could make the development of a reliable segmentation scheme very complicated.
Character segmentation based on the pixel projection is widely used in conventional optical character recognition (OCR) systems. In general, the conventional systems perform well for most machine-printed text recognition tasks. The advantage of such systems is the gains in speed of execution. If the characters in license plate are in perfect condition, that is, they are sufficiently separated or unbroken, character segmentation may be accomplished directly from the projection function. However, clean and uniformly illuminated license plate images are not usually available in real-life scenarios.
Therefore, a need exists for a robust segmentation method for segmenting characters under a plurality of different illumination and environmental conditions.
A method for segmenting and recognizing license plates, in accordance with the present invention, which may be implemented using a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform the method steps, includes capturing an image of a license plate and preprocessing the image to prepare the image for segmentation and recognition. The image is forward split into suspected characters regions of the license plate image. Suspected character regions in the license plate image are recognized and provided with a confidence score based on a probability of a correct match. If the suspected characters have a confidence score below a threshold value, backward merging adjacent suspected character regions is performed. The backward merged suspected character regions in the license plate are recognized, and if the backward merged suspected character regions have a confidence score below the threshold value, the backward merging and recognizing steps are repeated.
In alternate embodiments, which may employ the program storage device, the step of recognizing suspected character regions in the license plate image may include determining regions with a confidence score below a threshold, and the step of forward splitting regions may include the step of segmenting touching or overlapping characters in adjacent suspected character regions by employing a discrimination function based on contour projections of the characters. The step of segmenting touching or overlapping characters may be recursively applied to achieve the threshold value of a confidence score. The step of recognizing suspected character regions in the license plate image and providing a confidence score based on a probability of a correct match may include the step of recognizing characters in the license plate image by employing at least one of a neural network and template matching.
In still other embodiments, the step of recognizing the backward merged suspected character regions in the license plate may include the step of recognizing characters in the license plate image by employing at least one of a neural network and template matching. The step of preprocessing the image to prepare the image for segmentation and recognition may include the steps of detecting pretilt in the license plate image by detecting edges and selecting feature points to determine a projection array on the edges, selecting the projection array having a highest cost to determine an angle of rotation and correcting the license plate image in accordance with the angle of rotation. The step of preprocessing the image to prepare the image for segmentation and recognition may include the steps of refining a position of the license plate by determining a height of characters on the license plate image by employing a projection function, computing a spatial variance to determine a center position of the characters, employing the center position and the height of the characters to reduce a size of a region of interest by detecting edges of a plate border and computing a length of the edges to identify the region of interest. The step of preprocessing the image to prepare the image for segmentation and recognition may include the steps of providing a projection profile of pixel intensities across vertical lines of pixels in the image, filtering the projection profile and identifying locations of characters in the image depicted by area below a threshold value in the filtered projection profile. The step of outputting recognized characters of the license plate image is preferably performed. The step of comparing recognized characters and character blocks to predetermined license plate codes and conventions to check accuracy of recognition may be included.